<?php
//锁机制

/**
 * 创建锁对象
 * 参数1:锁类型 SWOOLE_MUTEX 互斥锁 SWOOLE_RWLOCK 读写锁
 */
$lock = new swoole_lock(SWOOLE_MUTEX);
echo "创建互斥锁成功\n";
$lock->lock();   //开始锁定 主进程

if(pcntl_fork() > 0){ //如果主进程 fork 出一个子进程
    sleep(1);
    $lock->unlock();   //解锁 主进程
}else{
    echo "子进程 等待锁\n";
    $lock->lock();   //上锁
    echo "子进程 获取锁\n";
    $lock->unlock();   //解锁
    exit("子进程退出");  //子进程退出
}

echo "主进程 释放锁\n";
unset($lock);   //销毁锁对象
sleep(1);
echo "子进程退出\n";

?>